package com.md.common.utils.log;//package com.dc.common.utils.log;
//
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Component;
//
///**
// * 全局控制器日志织入
// *
// * @author Ice
// */
//@Aspect
//@Component
//public class GlobalLogAspect {
//
//    private final static Logger LOGGER = LoggerFactory.getLogger(GlobalLogAspect.class);
//
//    @Pointcut("execution(* com.dc..*.*(..))")
//    public void pointcut() {
//    }
//
//    // 只织入使用了 @Log 注解的方法
//    @Around("pointcut() && @annotation(bizLog)")
//    public Object around(ProceedingJoinPoint pjp, BizLog bizLog) throws Throwable {
//        String clazzName = pjp.getTarget().getClass().getSimpleName();
//        Object args = bizLog.ignoreArgs() ? "#" : pjp.getArgs();
//        if (bizLog.type() != BizLogTypeEnum.AFTER) {
//            log(bizLog, clazzName, args, "start");
//        }
//
//        try {
//            return pjp.proceed();
//        } finally {
//            if (bizLog.type() != BizLogTypeEnum.BEFOR) {
//                log(bizLog, clazzName, args, "end");
//            }
//        }
//    }
//
//    private void log(BizLog bizLog, String clazzName, Object args, String node) {
//        if (bizLog.level() == BizLogLevelEnum.INFO) {
//            LOGGER.info("{}: {} {}，param：{}", clazzName, bizLog.value(), node, args);
//        } else if (bizLog.level() == BizLogLevelEnum.WARN) {
//            LOGGER.warn("{}: {} {}，param：{}", clazzName, bizLog.value(), node, args);
//        } else if (bizLog.level() == BizLogLevelEnum.ERROR) {
//            LOGGER.error("{}: {} {}，param：{}", clazzName, bizLog.value(), node, args);
//        } else {
//            LOGGER.debug("{}: {} {}，param：{}", clazzName, bizLog.value(), node, args);
//        }
//    }
//
//}
